<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>StatSVN - Directory 2011/dxdiagntest/</title>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
    <meta name="Generator" content="StatSVN 0.7.0"/>
<link rel="stylesheet" href="objectlab-statcvs.css" type="text/css"/>
<script type="text/javascript" charset="utf-8" src="http://bit.ly/javascript-api.js?version=latest&#38;login=statsvn&#38;apiKey=R_2c362b417d0517c27876cbaca1bb68cc"></script>
<script type="text/javascript" charset="utf-8">
   // wait until page is loaded to call API
   var redir_url;
   var short_url;
   BitlyCB.myShortenCallback = function(data) {
      // this is how to get a result of shortening a single url
      var result;
      short_url=null;
      for (var r in data.results) {
         result = data.results[r];
         result['longUrl'] = r;
         short_url = result['shortUrl'];
         break;
      }
      if (short_url==null) // bit.ly failed
      document.location=redir_url;
      else
      redirToTwitter();
   };
   function shortenTweet(url) {
      if (short_url == null || redir_url!=url) {
      redir_url = url;
      BitlyClient.shorten(document.location, 'BitlyCB.myShortenCallback');
      }
      else
      redirToTwitter();
      return false;
   }
   function redirToTwitter() { 
      // replace {0} which is visible as %7B0} in the link
      document.location = redir_url.replace('%7B0}', short_url);
   }
</script>
  </head>

<body>

<h1>Directory 2011/dxdiagntest/</h1>
<div id="parentlink">&#171; <a href="index.html">Development Statistics for /trunk</a></div>
<dl class="attributes">
    <dt>Directory Created:</dt>
    <dd><span class="date">2011-02-17 02:19</span></dd>
    <dt>Total Files:</dt>
    <dd>4</dd>
    <dt>Deleted Files:</dt>
    <dd>2</dd>
    <dt>Lines of Code:</dt>
    <dd>9259</dd>
</dl>
<p class="dirtree">
<a href="dir.html">[root]</a>/<a href="dir_2011.html">2011</a>/<strong>dxdiagntest</strong><br/>
</p>

<div class="section">
<h2>Lines of Code</h2>
<p class="chart"><img src="loc_module_2011_dxdiagntest.png" alt="2011/dxdiagntest/ Lines of Code" width="800" height="500" /></p></div>
<div class="section">
<h2>Developers</h2>
  <table  rules="groups" summary="All authors and the number of their changes and lines of code in this directory">
    <colgroup align="left"/>
    <colgroup align="right"/>
    <colgroup align="right"/>
    <colgroup align="right"/>
    <thead>
      <tr>
        <th>Author</th>
        <th>Changes</th>
        <th>Lines of Code</th>
        <th>Lines per Change</th>
      </tr>
    </thead>
    <tfoot>
      <tr>
        <th>Totals</th>
        <td>23 (100.0%)</td>
        <td>11476 (100.0%)</td>
        <td>498.9</td>
      </tr>
    </tfoot>
    <tbody>
      <tr  class="odd">
        <th><a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a></th>
        <td>9 (39.1%)</td>
        <td>6839 (59.6%)</td>
        <td>759.8</td>
      </tr>
      <tr  class="even">
        <th><a href="user_lokiazh@gmail.com.html" class="author">lokiazh@gmail.com</a></th>
        <td>4 (17.4%)</td>
        <td>4232 (36.9%)</td>
        <td>1058.0</td>
      </tr>
      <tr  class="odd">
        <th><a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a></th>
        <td>10 (43.5%)</td>
        <td>405 (3.5%)</td>
        <td>40.5</td>
      </tr>
    </tbody>
  </table>

</div>
<div class="section">
<h2>Most Recent Commits</h2>
<dl class="commitlist">
  <dt><a name="16"></a>
    <a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a>
    <span class="date">2011-02-27 14:24</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">270</span></span>
  </dt>
  <dd>
    <p class="comment">
Refactored dxdiagcom.c to not use function pointers (aka callbacks).  In addition, we were able to refine our assumptions about the DxDiag COM hierarchy.  The final structure of DxDiagCOM_Container is to have<br />
1) "namedProperties" - properties that are queried by name, and will always be accessible (or null).  Previously this was just "properties".<br />
2) "namedContainers" - containers that are queried for by name, and will always be accessible (or null, there is a function to check this in dxdiagcom.c).  <br />
3) "unnamedContainers" - containers that are not queried for by name.  This is simply an array of the remaining containers, which in the DxDiag COM hierarchy will all be of the same type.  An example is DisplayDevices.  DisplayDevices contains an array of DisplayDevice.  Thus, you will need to use unnamedContainers to access these.  Use numUnnamedContainers to get the size of the array.<br />
<br />
Parsing outputs to stderr to assist us in further refining our knowledge of the DxDiag COM hierarchy.  A print function also exists in dxdiagcom.c for more detailed information, and is commented out in main.c.
    </p>
    <p class="commitdetails"><strong>2</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        build.sh&#160;<span class="change">(+2&#160;-2)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="15"></a>
    <a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a>
    <span class="date">2011-02-26 21:02</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">260</span></span>
  </dt>
  <dd>
    <p class="comment">
Moved the test file to the right folder
    </p>
    <p class="commitdetails"><strong>0</strong> lines of code changed in <span class="files">2 files</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisionTestReadMe.txt&#160;<span class="del">(del)</span>,
        ComparisonTest.rb&#160;<span class="del">(del)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="14"></a>
    <a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a>
    <span class="date">2011-02-26 21:01</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">259</span></span>
  </dt>
  <dd>
    <p class="comment">
XML comparison implemented.
    </p>
    <p class="commitdetails"><strong>88</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisonTest.rb&#160;<span class="change">(+88&#160;-31)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="13"></a>
    <a href="user_lokiazh@gmail.com.html" class="author">lokiazh@gmail.com</a>
    <span class="date">2011-02-26 20:28</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">258</span></span>
  </dt>
  <dd>
    <p class="comment">
Updated comparison test dependencies in readme.
    </p>
    <p class="commitdetails"><strong>3</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisionTestReadMe.txt&#160;<span class="change">(+3&#160;-2)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="12"></a>
    <a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a>
    <span class="date">2011-02-26 19:54</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">256</span></span>
  </dt>
  <dd>
    <p class="comment">
Added extra command to compare both windows to wine, only windows to wine, or only wine to windows.  For text files hierarchy is now also tested.
    </p>
    <p class="commitdetails"><strong>137</strong> lines of code changed in <span class="files">2 files</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisionTestReadMe.txt&#160;<span class="change">(+8&#160;-2)</span>,
        ComparisonTest.rb&#160;<span class="change">(+129&#160;-69)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="11"></a>
    <a href="user_lokiazh@gmail.com.html" class="author">lokiazh@gmail.com</a>
    <span class="date">2011-02-26 00:52</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">234</span></span>
  </dt>
  <dd>
    <p class="comment">
Implemented systeminfo, sounddevices, and parts of displaydevices into the xml file output using the COM interface.
    </p>
    <p class="commitdetails"><strong>2</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        main.c&#160;<span class="change">(+2&#160;-4)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="10"></a>
    <a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a>
    <span class="date">2011-02-25 19:44</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">228</span></span>
  </dt>
  <dd>
    <p class="comment">
Made some changes to error handling.  Implemented Tree data structure for handling System Hierarchy.  Comparison algorithm not yet implemented.  Updated requirements and therefore the readME
    </p>
    <p class="commitdetails"><strong>117</strong> lines of code changed in <span class="files">2 files</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisionTestReadMe.txt&#160;<span class="change">(+2&#160;-1)</span>,
        ComparisonTest.rb&#160;<span class="change">(+115&#160;-19)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="9"></a>
    <a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a>
    <span class="date">2011-02-25 19:17</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">227</span></span>
  </dt>
  <dd>
    <p class="comment">
Added support for multiple SoundDevices and DisplayDevices.  This required modifications mostly to mainDialog.c (additional tabs needed to be inserted) and main.c (tabs now dynamically allocated).  The code is still a little bit messy, I welcome any functionality preserving refactors.  You can use the TEST_MULTIPLE preprocessor definition as a dirty means of testing.
    </p>
    <p class="commitdetails"><strong>2</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        main.c&#160;<span class="change">(+2)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="8"></a>
    <a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a>
    <span class="date">2011-02-25 16:03</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">221</span></span>
  </dt>
  <dd>
    <p class="comment">
Updated the Comparison script to include outputting the line numbers of the differences in the two input script.  Arguments are checked for conformity and output messages are formated to be more legible.
    </p>
    <p class="commitdetails"><strong>47</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisonTest.rb&#160;<span class="change">(+47&#160;-15)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="7"></a>
    <a href="user_lokiazh@gmail.com.html" class="author">lokiazh@gmail.com</a>
    <span class="date">2011-02-25 13:02</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">216</span></span>
  </dt>
  <dd>
    <p class="comment">
Fixed resources.h define overlaps. Updated dxdiagn test result on my computer. Minor editing in other files.
    </p>
    <p class="commitdetails"><strong>1791</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        stevefeng.txt&#160;<span class="change">(+1791&#160;-1787)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="6"></a>
    <a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a>
    <span class="date">2011-02-25 02:14</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">206</span></span>
  </dt>
  <dd>
    <p class="comment">
Completed DxdiagnCOM labels in query.h, minus a few fixmes.  Completed SystemInfo population and converted existing code.  Utilized dxdiagntest to assist in the generation of Enums and Arrays in query.h.<br />
<br />
Note that the code is rather slow on start up because interacting with DxdiagCOM takes some time.  We will at least want to put some kind of a progress bar up for the Windows API. This will require minor refactoring to how the command line is processed (the progress bar is only necessary for non-command line interaction).
    </p>
    <p class="commitdetails"><strong>61</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        main.c&#160;<span class="change">(+61&#160;-3)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="5"></a>
    <a href="user_Victorrzhu@gmail.com.html" class="author">Victorrzhu@gmail.com</a>
    <span class="date">2011-02-25 00:37</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">205</span></span>
  </dt>
  <dd>
    <p class="comment">
Added Ruby Script
    </p>
    <p class="commitdetails"><strong>16</strong> lines of code changed in <span class="files">2 files</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        ComparisionTestReadMe.txt&#160;<span class="new">(new&#160;1)</span>,
        ComparisonTest.rb&#160;<span class="new">(new&#160;15)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="4"></a>
    <a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a>
    <span class="date">2011-02-24 21:45</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">196</span></span>
  </dt>
  <dd>
    <p class="comment">
Created uniform naming scheme for query.h.  For containers, the form is DXDIAG_CONT_[PARENT]_[CHILD].  For properties, the form is DXDIAG_PROP_[PARENT]_[PROPERTY].
    </p>
    <p class="commitdetails"><strong>2</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        main.c&#160;<span class="change">(+2&#160;-1)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="3"></a>
    <a href="user_lokiazh@gmail.com.html" class="author">lokiazh@gmail.com</a>
    <span class="date">2011-02-21 14:26</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">164</span></span>
  </dt>
  <dd>
    <p class="comment">
Added my COM test results. Added all possible COM containers to resources.h. General editing of resources.h for scalability.
    </p>
    <p class="commitdetails"><strong>2436</strong> lines of code changed in <span class="files">1 file</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        stevefeng.txt&#160;<span class="new">(new&#160;2436)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="2"></a>
    <a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a>
    <span class="date">2011-02-21 03:19</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">163</span></span>
  </dt>
  <dd>
    <p class="comment">
VarFormat is not defined in some versions of oleauto.h!  Instead, VariantChangeType is used.  build.sh now works.  Have fun everyone!
    </p>
    <p class="commitdetails"><strong>17</strong> lines of code changed in <span class="files">2 files</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        build.sh&#160;<span class="change">(+2&#160;-2)</span>,
        main.c&#160;<span class="change">(+15&#160;-10)</span>
      </li>
    </ul>
  </dd>

  <dt><a name="1"></a>
    <a href="user_theafreer@gmail.com.html" class="author">theafreer@gmail.com</a>
    <span class="date">2011-02-17 02:19</span>
    <span class="revisionNumberOuter">Rev.: <span class="revisionNumberInner">140</span></span>
  </dt>
  <dd>
    <p class="comment">
This program tests the dxdiag interfaces (provided by dxdiagn.dll).  It lists all containers and their properties.  This is fairly useful as there is no documentation available online as to what containers and properties are available!  UNFORUNATELY, the build.sh script doesn't work.  I built the program with visual studio without any issues (I had to include the [project]/2011/include directory) and saved the output to andrewfreer.txt.  Normally checking in output would seem foolish, but in this case I don't want people to waste time getting the program to build if they are struggling, and it might be instructive to have several different outputs available from various computer configurations.  This output was generated while running Windows 7.
    </p>
    <p class="commitdetails"><strong>6755</strong> lines of code changed in <span class="files">3 files</span>:</p>
    <ul class="commitdetails">
      <li>
        <strong>2011/dxdiagntest</strong>:
        andrewfreer.txt&#160;<span class="new">(new&#160;6629)</span>,
        build.sh&#160;<span class="new">(new&#160;29)</span>,
        main.c&#160;<span class="new">(new&#160;97)</span>
      </li>
    </ul>
  </dd>

</dl>

</div><div id="generatedby">Generated by <a href="http://www.statsvn.org">StatSVN</a> 0.7.0</div>
</body>
</html>